/** @file */
#include "stdafx.h"
#ifndef _Sound_h_
#define _Sound_h_
#include "SoundPlayer.h"

/** @class Sound
 *
 *  @brief A sound is a handle to an FMOD event.
 *	
 *	
 *
 *	@author Simulation engines 2012 group 3
 * 
 *  A sound is a handle to an FMOD event. It is used to play and modify a sound depending on parameters.
 */
class Sound
{
public:
	/**
	* @brief Default constructor
	*
	* 
	*/
	Sound();
	/**
	* @brief Create a sound based on an event ID
	*
	* 
	*/
	Sound(unsigned int eventId);
	/**
	* @brief Destructor
	*
	* 
	*/
	~Sound();
	/**
	* @brief Play the sound
	*
	* 
	*/
	void play();
	/**
	* @brief Stop the sound
	*
	* 
	*/
	void stop();
	/**
	* @brief Change the parameters of the sound
	*
	*  @param paramName paramater name
	*
	*  @param paramValue parameter value
	*/
	void changeParam(const char* paramName, float paramValue);
	/**
	* @brief Returns true if the sound is playing
	*
	* 
	*/
	bool isPlaying();

protected:
	FMOD::Event* m_evt;
private:
	bool m_playing;
};

#endif